home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / sbprolog / v3 / bench.lha / bench / nrev.P.asl < prev    next >
Text File  |  1992-08-12  |  4KB  |  213 lines

  1. label((nrev,2,14)).
  2. switchonlist(1,(nrev,2,'12nil'),(nrev,2,'13lis')).
  3. label((sot_label,-1,15)).
  4. try((nrev,2,12),2).
  5. trust((nrev,2,13),2).
  6. label((nrev,2,12)).
  7. getnil(1).
  8. label((nrev,2,'12nil')).
  9. getnil(2).
  10. proceed.
  11. label((nrev,2,13)).
  12. allocate(5).
  13. getlist(1).
  14. jump((nrev,2,17)).
  15. label((nrev,2,'13lis')).
  16. allocate(5).
  17. getlist_k(1).
  18. label((nrev,2,17)).
  19. unipvar(2).
  20. unitvar(1).
  21. getpvar(3,2).
  22. putpvar(4,2).
  23. call(nrev,2,5).
  24. putuval(4,1).
  25. putlist(2).
  26. bldpval(2).
  27. bldnil.
  28. putuval(3,3).
  29. deallocate.
  30. execute((append,3)).
  31. label((append,3,35)).
  32. switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
  33. label((sot_label,-1,36)).
  34. try((append,3,33),3).
  35. trust((append,3,34),3).
  36. label((append,3,33)).
  37. getnil(1).
  38. label((append,3,'33nil')).
  39. gettval(2,3).
  40. proceed.
  41. label((append,3,34)).
  42. getlist(1).
  43. unitvar(4).
  44. unitvar(1).
  45. jump((append,3,38)).
  46. label((append,3,'34lis')).
  47. getlist_k(1).
  48. unitvar(4).
  49. unitvar(1).
  50. label((append,3,38)).
  51. getlist(3).
  52. unitval(4).
  53. unitvar(3).
  54. switchonlist(1,(append,3,'33nil'),(append,3,'34lis')).
  55. try((append,3,33),3).
  56. trust((append,3,34),3).
  57. label((bench,1,53)).
  58. allocate(6).
  59. getpvar(2,1).
  60. putpvar(3,1).
  61. call(cputime,1,6).
  62. putpval(2,1).
  63. call(dodummy,1,6).
  64. putpvar(4,1).
  65. call(cputime,1,6).
  66. putpval(2,1).
  67. call(dobench,1,6).
  68. putpvar(5,1).
  69. call(cputime,1,6).
  70. putuval(2,1).
  71. putuval(3,2).
  72. putuval(4,3).
  73. putuval(5,4).
  74. deallocate.
  75. execute((report,4)).
  76. label((dobench,1,66)).
  77. label((sot_label,-1,67)).
  78. try((dobench,1,64),1).
  79. trust((dobench,1,65),1).
  80. label((dobench,1,64)).
  81. allocate(5).
  82. getpvar(2,1).
  83. putpvar(3,1).
  84. call(data,1,5).
  85. putpval(2,1).
  86. call(repeat,1,5).
  87. putpval(3,1).
  88. putpvar(4,2).
  89. call(nrev,2,5).
  90. fail.
  91. deallocate.
  92. proceed.
  93. label((dobench,1,65)).
  94. proceed.
  95. label((dodummy,1,80)).
  96. label((sot_label,-1,81)).
  97. try((dodummy,1,78),1).
  98. trust((dodummy,1,79),1).
  99. label((dodummy,1,78)).
  100. allocate(5).
  101. getpvar(2,1).
  102. putpvar(3,1).
  103. call(data,1,5).
  104. putpval(2,1).
  105. call(repeat,1,5).
  106. putpval(3,1).
  107. putpvar(4,2).
  108. call(dummy,2,5).
  109. fail.
  110. deallocate.
  111. proceed.
  112. label((dodummy,1,79)).
  113. proceed.
  114. label((dummy,2,86)).
  115. proceed.
  116. label((data,1,90)).
  117. putnumcon(30,2).
  118. execute((data,2)).
  119. label((data,2,103)).
  120. switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
  121. label((sot_label,-1,104)).
  122. try((data,2,101),2).
  123. trust((data,2,102),2).
  124. label((data,2,101)).
  125. getnil(1).
  126. label((data,2,'101nil')).
  127. getnumcon(0,2).
  128. proceed.
  129. label((data,2,102)).
  130. getlist(1).
  131. jump((data,2,106)).
  132. label((data,2,'102lis')).
  133. getlist_k(1).
  134. label((data,2,106)).
  135. unicon(a).
  136. unitvar(1).
  137. movreg(2,3).
  138. jumple(3,abs(-1)).
  139. putnumcon(1,4).
  140. subreg(4,3).
  141. movreg(3,2).
  142. switchonlist(1,(data,2,'101nil'),(data,2,'102lis')).
  143. try((data,2,101),2).
  144. trust((data,2,102),2).
  145. label((repeat,1,118)).
  146. label((sot_label,-1,119)).
  147. try((repeat,1,116),1).
  148. trust((repeat,1,117),1).
  149. label((repeat,1,116)).
  150. proceed.
  151. label((repeat,1,117)).
  152. movreg(1,2).
  153. movreg(2,3).
  154. putnumcon(1,4).
  155. subreg(4,3).
  156. jumple(3,abs(-1)).
  157. putnumcon(1,3).
  158. subreg(3,2).
  159. movreg(2,1).
  160. execute((repeat,1)).
  161. label((report,4,149)).
  162. allocate(10).
  163. getpvar(2,1).
  164. getpvar(3,2).
  165. getpvar(4,3).
  166. getpvar(5,4).
  167. putcon('no. of iterations: ',1).
  168. call(write,1,10).
  169. putpval(2,1).
  170. call(write,1,10).
  171. call(nl,0,10).
  172. putdval(4,1).
  173. putdval(3,2).
  174. subreg(2,1).
  175. getpvar(6,1).
  176. putcon('dummy: ',1).
  177. call(write,1,10).
  178. putpval(6,1).
  179. call(write,1,10).
  180. call(nl,0,10).
  181. putdval(5,1).
  182. putdval(4,2).
  183. subreg(2,1).
  184. getpvar(7,1).
  185. putcon('nrev loop: ',1).
  186. call(write,1,10).
  187. putpval(7,1).
  188. call(write,1,10).
  189. call(nl,0,10).
  190. putdval(7,1).
  191. putdval(6,2).
  192. subreg(2,1).
  193. getpvar(8,1).
  194. putcon('adjusted time: ',1).
  195. call(write,1,10).
  196. putpval(8,1).
  197. call(write,1,10).
  198. call(nl,0,10).
  199. putnumcon(496,1).
  200. putdval(2,2).
  201. mulreg(2,1).
  202. putnumcon(1000,2).
  203. mulreg(2,1).
  204. putdval(8,2).
  205. divreg(2,1).
  206. getpvar(9,1).
  207. putcon('Lips = ',1).
  208. call(write,1,10).
  209. putpval(9,1).
  210. call(write,1,10).
  211. deallocate.
  212. execute((nl,0)).
  213.